﻿using System.Xml;

namespace DotDiff
{
    /// <summary>
    /// This class will contain all the settings for XML within DotDiff.
    /// </summary>
    public sealed class XmlSettings
    {
        private string idNode;
        private XmlNamespaceManager nsMgr;
        private bool xpathPosition;
        private bool xpathAttributes;

        /// <summary>
        /// Create a default instance of the XmlSettings.
        /// </summary>
        public XmlSettings()
        {
            idNode = "";
            nsMgr = null;
            xpathPosition = false;
        }

        /// <summary>
        /// this states weather to include the Node attributes on the cration of
        /// Xpath strings.
        /// </summary>
        public bool XpathAttributes
        {
            get
            {
                return this.xpathAttributes;
            }
            set
            {
                this.xpathAttributes = value;
            }
        }

        /// <summary>
        /// This is the name of the IdNode
        /// </summary>
        public string IdNode
        {
            get
            {
                return idNode;
            }
            set
            {
                idNode = value;
            }
        }

        /// <summary>
        /// wether or not to inlcude the XPath Posstion in the Xpath
        /// being generated.
        /// </summary>
        public bool XpathPosition
        {
            get
            {
                return xpathPosition;
            }
            set
            {
                xpathPosition = value;
            }
        }

        /// <summary>
        /// the name space manager to use.
        /// </summary>
        public XmlNamespaceManager NsMgr
        {
            get
            {
                return nsMgr;
            }
            set
            {
                nsMgr = value;
            }
        }

    }
}
